/*
 * *******************************************************************
 *   @项目名称: BHex Android
 *   @文件名称: FuturesOrderResponse.java
 *   @Date: 19-6-23 下午3:28
 *   @Author: ppzhao
 *   @Description:
 *   @Copyright（C）: 2019 BlueHelix Inc.   All rights reserved.
 *   注意：本内容仅限于内部传阅，禁止外泄以及用于其他的商业目的.
 *  *******************************************************************
 */

package io.bhex.sdk.trade.futures.bean;

import java.io.Serializable;
import java.util.List;

import io.bhex.baselib.network.response.BaseResponse;

public class FuturesOrderResponse extends BaseResponse implements Serializable {

    /**
     * time : 1561274866261
     * orderId : 390396305536548608
     * accountId : 385899112859493888
     * clientOrderId : 1561274869766
     * symbolId : BTC0517
     * symbolName : BTC0517
     * baseTokenId : BTC0517
     * baseTokenName : BTC0517
     * quoteTokenId : USDT
     * quoteTokenName : USDT
     * price : 102
     * origQty : 0.1
     * executedQty : 0
     * executedAmount : 0
     * avgPrice : 0
     * type : LIMIT
     * side : BUY_OPEN
     * fees : []
     * status : NEW
     * noExecutedQty : 0.1
     * amount : 10.2
     * exchangeId : 301
     * leverage : 0
     * isClose : false
     */

    private String time;    //下单时间
    private String orderId; //订单id
    private String accountId;   //账户id
    private String clientOrderId;   //客户端订单Id
    private String symbolId;    //期货id
    private String symbolName;  //期货名称
    private String baseTokenId;
    private String baseTokenName;
    private String quoteTokenId;
    private String quoteTokenName;
    private String price;       //下单价格  强平单类型时，此时price代表破产价
    private String liquidationPrice;       //强平价格
    private String origQty;     //下单数量
    private String executedQty;     //成交量
    private String executedAmount;  //成交额
    private String avgPrice;        //成交均价
    private String type;        //订单类型
    private String side;        //订单方向
    private String noExecutedQty;   //未成交量
    private String amount;
    private String margin;//保证金
    private String exchangeId;
    private String leverage;
    private boolean isClose;
    private List<FeeBean> fees; //订单费用
    private String status;      //订单状态 (NEW 订单已创建 PARTIALLY_FILLED 部分成交FILLED 完全成交 CANCELED 已取消 REJECTED 已拒绝)
    private String statusDesc; //订单状态描述
    /**
     * fees : []
     * orgId : 6001
     * priceType : INPUT
     * triggerPrice : 1.125112511251125112
     * executedPrice : .0
     */

    private String orgId;
    private String priceType;
    private String triggerPrice;
    private String executedPrice;

    private boolean isLiquidationOrder;     // 是否是系统强平单
    private String liquidationType;         // 爆仓单类型 NO_LIQ非爆仓单 IOC爆仓强平单 ADL爆仓减仓单
    /**
     * fees : []
     * executedOrderId : 0
     * planOrderType : STOP_LONG_PROFIT
     */

    private String executedOrderId;
    private String planOrderType;




    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public String getClientOrderId() {
        return clientOrderId;
    }

    public void setClientOrderId(String clientOrderId) {
        this.clientOrderId = clientOrderId;
    }

    public String getSymbolId() {
        return symbolId;
    }

    public void setSymbolId(String symbolId) {
        this.symbolId = symbolId;
    }

    public String getSymbolName() {
        return symbolName;
    }

    public void setSymbolName(String symbolName) {
        this.symbolName = symbolName;
    }

    public String getBaseTokenId() {
        return baseTokenId;
    }

    public void setBaseTokenId(String baseTokenId) {
        this.baseTokenId = baseTokenId;
    }

    public String getBaseTokenName() {
        return baseTokenName;
    }

    public void setBaseTokenName(String baseTokenName) {
        this.baseTokenName = baseTokenName;
    }

    public String getQuoteTokenId() {
        return quoteTokenId;
    }

    public void setQuoteTokenId(String quoteTokenId) {
        this.quoteTokenId = quoteTokenId;
    }

    public String getQuoteTokenName() {
        return quoteTokenName;
    }

    public void setQuoteTokenName(String quoteTokenName) {
        this.quoteTokenName = quoteTokenName;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getOrigQty() {
        return origQty;
    }

    public void setOrigQty(String origQty) {
        this.origQty = origQty;
    }

    public String getExecutedQty() {
        return executedQty;
    }

    public void setExecutedQty(String executedQty) {
        this.executedQty = executedQty;
    }

    public String getExecutedAmount() {
        return executedAmount;
    }

    public void setExecutedAmount(String executedAmount) {
        this.executedAmount = executedAmount;
    }

    public String getAvgPrice() {
        return avgPrice;
    }

    public void setAvgPrice(String avgPrice) {
        this.avgPrice = avgPrice;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getSide() {
        return side;
    }

    public void setSide(String side) {
        this.side = side;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getNoExecutedQty() {
        return noExecutedQty;
    }

    public void setNoExecutedQty(String noExecutedQty) {
        this.noExecutedQty = noExecutedQty;
    }

    public String getAmount() {
        return amount;
    }

    public void setAmount(String amount) {
        this.amount = amount;
    }

    public String getExchangeId() {
        return exchangeId;
    }

    public void setExchangeId(String exchangeId) {
        this.exchangeId = exchangeId;
    }

    public String getLeverage() {
        return leverage;
    }

    public void setLeverage(String leverage) {
        this.leverage = leverage;
    }

    public boolean isIsClose() {
        return isClose;
    }

    public void setIsClose(boolean isClose) {
        this.isClose = isClose;
    }

    public List<FeeBean> getFees() {
        return fees;
    }

    public void setFees(List<FeeBean> fees) {
        this.fees = fees;
    }

    public String getStatusDesc() {
        return statusDesc;
    }

    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }

    public String getMargin() {
        return margin;
    }

    public void setMargin(String margin) {
        this.margin = margin;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public String getPriceType() {
        return priceType;
    }

    public void setPriceType(String priceType) {
        this.priceType = priceType;
    }

    public String getTriggerPrice() {
        return triggerPrice;
    }

    public void setTriggerPrice(String triggerPrice) {
        this.triggerPrice = triggerPrice;
    }

    public String getExecutedPrice() {
        return executedPrice;
    }

    public void setExecutedPrice(String executedPrice) {
        this.executedPrice = executedPrice;
    }

    public boolean isLiquidationOrder() {
        return isLiquidationOrder;
    }

    public void setLiquidationOrder(boolean liquidationOrder) {
        isLiquidationOrder = liquidationOrder;
    }

    public String getLiquidationType() {
        return liquidationType;
    }

    public void setLiquidationType(String liquidationType) {
        this.liquidationType = liquidationType;
    }

    public String getExecutedOrderId() {
        return executedOrderId;
    }

    public void setExecutedOrderId(String executedOrderId) {
        this.executedOrderId = executedOrderId;
    }

    public String getPlanOrderType() {
        return planOrderType;
    }

    public void setPlanOrderType(String planOrderType) {
        this.planOrderType = planOrderType;
    }

    public String getLiquidationPrice() {
        return liquidationPrice;
    }

    public void setLiquidationPrice(String liquidationPrice) {
        this.liquidationPrice = liquidationPrice;
    }
}